package com.zan.rocketmqbootconsumer.listener;

import org.apache.rocketmq.spring.annotation.MessageModel;
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.springframework.stereotype.Component;

/**
 * @Author Zan
 * @Create 2024/8/30 10:24
 * @ClassName: DC1
 * @Description : TODO 请用一句话描述该类的功能
 *
 * CLUSTERING : 集群模式下，队列会给消费者分摊，队列数量 >= 消费者的数量；消息的消费位点，mq服务器会记录处理
 * BROADCASTING : 广播模式，消息会被每一个消费者都处理一次，mq服务器不会记录消费点位，并且报错也不会重试
 */
@Component
@RocketMQMessageListener(
        topic = "modelTopic",
        consumerGroup = "model-consumer-group-a",
        messageModel = MessageModel.CLUSTERING, // 集群模式 - 负载均衡（分配队列）
        consumeThreadNumber = 32
)
public class DC1 implements RocketMQListener<String> {
    @Override
    public void onMessage(String message) {
        System.out.println("我是model-consumer-group-a这个组的第一个消费者：" + message);
    }
}
